/**
 * Person Store
 * 负责管理person相关的状态和数据处理
 */

const { observable, action } = require('mobx-miniprogram')

// 创建一个Store
export const personStore = observable({
  // 基础数据
  name: '张三',
  age: 30,
  
  // 计算属性 (get方法会被自动转换为计算属性)
  get fullInfo() {
    return `${this.name}，${this.age}岁`;
  },
  
  get ageCategory() {
    if (this.age < 18) return '未成年';
    if (this.age < 60) return '成年';
    return '老年';
  },
  
  // Actions: 修改数据的方法
  changeName: action(function() {
    this.name = this.name === '张三' ? '李四' : '张三';
  }),
  
  increaseAge: action(function() {
    this.age += 10;
  }),
  
  decreaseAge: action(function() {
    this.age = Math.max(1, this.age - 10);
  })
}) 